package com.infore.qualityControl.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.infore.qualityControl.bo.QualityParamAnalysisBo;
import com.infore.qualityControl.select.util.PageObject;
import com.infore.qualityControl.service.IQualityAnalysisService;
import com.infore.qualityControl.util.ResultEntity;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * 质控分析控制器
 * @author Cold
 *
 */

@Api(value = "质控分析管理接口", tags = {"质控分析管理接口"})
@RestController
@RequestMapping("/qualityAnalysis")
public class QualityAnalysisController {
	
	@Autowired
	IQualityAnalysisService IQualityAnalysisService;
	
	@ApiOperation(value = "查询日质控分析数据")
	@ResponseBody
	@RequestMapping(value = "/dayQualityControllerData", method = RequestMethod.GET)
	public ResultEntity dayQualityControllerData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return null;
	}
	
	@ApiOperation(value = "查询质控考核分析数据")
	@ResponseBody
	@RequestMapping(value = "/qualityControllerExamineData", method = RequestMethod.GET)
	public ResultEntity qualityControllerExamineData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.qualityControllerExamineData(qualityParamAnalysisBo, pageObject);
	}
	
	@ApiOperation(value = "查询数据有效性分析数据")
	@ResponseBody
	@RequestMapping(value = "/effectivenessData", method = RequestMethod.GET)
	public ResultEntity effectivenessData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.effectivenessData(qualityParamAnalysisBo, pageObject);
	}
	
	@ApiOperation(value = "查询单站月质控考核分析(仪器配置情况)")
	@ResponseBody
	@RequestMapping(value = "/singleMonthExamineInstrumentData", method = RequestMethod.GET)
	public ResultEntity singleMonthExamineInstrumentData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.singleMonthExamineInstrumentData(qualityParamAnalysisBo, pageObject);
	}
	
	@ApiOperation(value = "查询单站月质控考核分析(质控核查情况)")
	@ResponseBody
	@RequestMapping(value = "/singleMonthExamineQualityData", method = RequestMethod.GET)
	public ResultEntity singleMonthExamineQualityData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.singleMonthExamineQualityData(qualityParamAnalysisBo, pageObject);
	}
	
	@ApiOperation(value = "查询单站月质控考核分析(常规五参数)")
	@ResponseBody
	@RequestMapping(value = "/singleMonthExamineFiveParameterData", method = RequestMethod.GET)
	public ResultEntity singleMonthExamineFiveParameterData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.singleMonthExamineFiveParameterData(qualityParamAnalysisBo, pageObject);
	}
	
	@ApiOperation(value = "查询单站月质控考核分析(多点线性)")
	@ResponseBody
	@RequestMapping(value = "/singleMonthExamineMultipointlinearityData", method = RequestMethod.GET)
	public ResultEntity singleMonthExamineMultipointlinearityData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.singleMonthExamineMultipointlinearityData(qualityParamAnalysisBo, pageObject);
	}
	
	@ApiOperation(value = "查询单站月质控考核分析(集成干预)")
	@ResponseBody
	@RequestMapping(value = "/singleMonthExamineIntegratedInterventionData", method = RequestMethod.GET)
	public ResultEntity singleMonthExamineIntegratedInterventionData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.singleMonthExamineIntegratedInterventionData(qualityParamAnalysisBo, pageObject);
	}
	
	@ApiOperation(value = "查询单站月质控考核分析(加标回收)")
	@ResponseBody
	@RequestMapping(value = "/singleMonthExamineRecoveryData", method = RequestMethod.GET)
	public ResultEntity singleMonthExamineRecoveryData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.singleMonthExamineRecoveryData(qualityParamAnalysisBo, pageObject);
	}
	
	@ApiOperation(value = "查询单站月质控考核分析(实际水样)")
	@ResponseBody
	@RequestMapping(value = "/singleMonthExamineRealWaterSampleComparisonData", method = RequestMethod.GET)
	public ResultEntity singleMonthExamineRealWaterSampleComparisonData(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.singleMonthExamineRealWaterSampleComparisonData(qualityParamAnalysisBo, pageObject);
	}
	
	@ApiOperation(value = "查询质控月度报表台账数据")
	@ResponseBody
	@RequestMapping(value = "/monthReportStandingBook", method = RequestMethod.GET)
	public ResultEntity monthReportStandingBook(QualityParamAnalysisBo qualityParamAnalysisBo, PageObject pageObject) {
		return IQualityAnalysisService.monthReportStandingBook(qualityParamAnalysisBo, pageObject);
	}
}
